Novelang

The electronic document generator

General syntax

Novelang recognizes Novella files with the .novella suffix. Novella files are plain text files, containing pure textual content, plus a limited amount of decorations to help Novelang to structure the text prior to rendering.

Here is a valid Novella file. It should look familiar to people who know wiki syntax:

== Title of level 1

This is a first paragraph on
two lines.

This is a `block of literal#@&)` inside a paragraph.
//This other block will show in italics//.


=== Title of level 2

<<
This is a quoted paragraph.

This is a second quoted paragraph.
>>

See? Decorations look “imaged” like ASCII emoticons. Equal signs figure indents for the title level, and angled brackets look like opening/​closing quotes. Unlike with HTML or LaTeX, it’s easy to read a Novelang source document.

Novelang makes a great effort for making its grammar consistent. Before a detailed presentation of all available decorations, here are the fundamental notions to deal with.

  • Paragraphs. The central notion of Novelang’s Novella grammar is the paragraph. A paragraph is a sequence of textual items kept together because there is no more than one line break at a time. So a paragraph cannot contain two consecutive line breaks, or it would be split in two paragraphs. Paragraphs mainly contain words, punctuation signs, blocks, list items and external links.
  • Blocks. A block is a subset of a paragraph (for things like text in parenthesis). Blocks may contain blocks. Because blocks occur only inside paragraphs, they cannot contain two consecutive line breaks.
  • Literal. Literal is text with uninterpreted characters. Novelang supports several kinds of literal, whether it is inside a paragraph or outside.
  • Levels. A level is a hierarchical container, that carries meaning about text structure. Levels represent things like chapters and sections.